.pe-input-number {
    --pe-input-number-height: var(--pe-default-height);
    --pe-input-number-border-color: var(--pe-color-border);
    --pe-input-number-hover-border-color: var(--pe-color-primary);
    --pe-input-number-font-size: var(--pe-font-size-default);
    --pe-input-number-bg-color: #ededed;
    --pe-input-number-padding: var(--pe-padding-default);
}

.pe-input-number {
    position: relative;
    width: 200px;
    height: var(--pe-input-number-height);
    display: inline-flex;
    justify-content: center;
    align-items: center;
    vertical-align: middle;
    overflow: hidden;
    border: 1px solid var(--pe-input-number-border-color);
    border-radius: var(--pe-border-radius);
    transition: var(--pe-border-transition);
    background-color: var(--pe-color-white);
    color: var(--pe-color-text);

    &:hover {
        border-color: var(--pe-input-number-hover-border-color);
    }

    .pe-input-number-wapper {
        width: 100%;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        cursor: text;

        .pe-input-number-inner {
            width: 100%;
            outline: none;
            border: none;
            height: 100%;
            text-align: center;
            font-size: var(--pe-input-number-font-size);
        }

        .pe-input-number-position {
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            height: 100%;
            .pe-input-number-position-icon {
                padding: var(--pe-input-number-padding);
                background-color: var(--pe-input-number-bg-color);
                display: flex;
                justify-content: center;
                align-items: center;
                cursor: pointer;
                height: 50%;
                transition: var(--pe-all-transition);
                font-size: var(--pe-input-number-font-size);
                &:hover {
                    color: var(--pe-color-primary);
                }
            }
        }
    }

    .pe-input-number-icon {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 100%;
        padding: var(--pe-input-number-padding);
        cursor: pointer;
        border: none;
        background-color: var(--pe-input-number-bg-color);
        transition: var(--pe-all-transition);
        font-size: var(--pe-input-number-font-size);
        &:hover {
            color: var(--pe-color-primary);
        }
    }

    .pe-input-number-left {
        border-right: 1px solid var(--pe-input-number-border-color);
    }

    .pe-input-number-right {
        border-left: 1px solid var(--pe-input-number-border-color);
    }
}

.pe-input-number-large {
    --pe-input-number-height: var(--pe-large-height);
    --pe-input-number-font-size: var(--pe-font-size-large);
    --pe-input-number-padding: var(--pe-padding-large);
}

.pe-input-number-small {
    --pe-input-number-height: var(--pe-small-height);
    --pe-input-number-font-size: var(--pe-font-size-small);
    --pe-input-number-padding: var(--pe-padding-small);
}

.pe-input-number-disabled {
    cursor: not-allowed !important;
    color: #adadad !important;
}